package com.yanceysong.codetop.s11_s20;

import com.yanceysong.common.ListNode;

/**
 * @ClassName s24_Mid_143_重排链表
 * @Description
 * @date 2025/8/17 22:50
 * @Author yanceysong
 * @Version 1.0
 */
public class s14_Mid_143_重排链表 {
    public static void main(String[] args) {

    }

    /**
     * 给定一个单链表 L 的头节点 head ，单链表 L 表示为：
     * <p>
     * L0 → L1 → … → Ln - 1 → Ln
     * 请将其重新排列后变为：
     * <p>
     * L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …
     * 不能只是单纯的改变节点内部的值，而是需要实际的进行节点交换。
     * <p>
     * 示例1：
     * 原始链表: 1 -> 2 -> 3 -> 4
     * 重排后:   1 -> 4 -> 2 -> 3
     * 图解:
     * 1 -> 2 -> 3 -> 4
     * 1 -> 4 -> 2 -> 3
     * <p>
     * 示例2：
     * 原始链表: 1 -> 2 -> 3 -> 4 -> 5
     * 重排后:   1 -> 5 -> 2 -> 4 -> 3
     * 图解:
     * 1 -> 2 -> 3 -> 4 -> 5
     * 1 -> 5 -> 2 -> 4 -> 3
     * <p>
     * 输入：head = [1,2,3,4]
     * 输出：[1,4,2,3]
     * <p>
     * 输入：head = [1,2,3,4,5]
     * 输出：[1,5,2,4,3]
     */
    public void reorderList(ListNode head) {

    }
}
